---
title: Publique seu Site Astro na Zerops  
description: Como publicar seu site Astro na web com Zerops.
type: deploy
logo: zerops
supports: ['ssr', 'static']
i18nReady: true
---
import PackageManagerTabs from '~/components/tabs/PackageManagerTabs.astro'
import { Steps } from '@astrojs/starlight/components';

[Zerops](https://zerops.io/) é uma plataforma de nuvem voltada para desenvolvedores que pode ser usada para publicar sites Astro estáticos e SSR.

Este manual irá guiá-lo pela configuração e publicação de sites Astro estáticos e SSR na Zerops.


:::tip[Experimente Astro x Zerops]

Quer testar Astro rodando na Zerops sem instalar ou configurar nada? Usando os repositórios [Zerops x Astro - Estático](https://github.com/zeropsio/recipe-astro-static) ou [Zerops x Astro - SSR em Node.js](https://github.com/zeropsio/recipe-astro-nodejs), você pode fazer a publicação de um exemplo de site Astro com um único clique.

:::

Rodar aplicativos na Zerops requer dois passos:  
1. Criar um projeto
2. Ativar o pipeline de build & deploy

:::note
Um projeto Zerops pode conter múltiplos sites Astro.
:::

## Site estático Astro na Zerops

### Criando um projeto e um serviço para Astro estático  
Projetos e serviços podem ser adicionados tanto através do assistente [`Adicionar projeto`](https://app.zerops.io/dashboard/project-add) ou importados usando uma estrutura yaml:

```yaml
# veja https://docs.zerops.io/references/import para referência completa
project:
  name: recipe-astro
services:
  - hostname: app
    type: static
```

Isso criará um projeto chamado `recipe-astro` com um serviço estático Zerops chamado `app`.

### Fazendo o deploy do seu site Astro Static

Para dizer ao Zerops como construir e rodar seu site, adicione um `zerops.yml` ao seu repositório:

  <PackageManagerTabs>
    <Fragment slot="npm">
    ```yaml title="zerops.yml"
    # veja https://docs.zerops.io/zerops-yml/specification para referência completa
    zerops:
      - setup: app
        build:
          base: nodejs@20
          buildCommands:
            - npm i
            - npm build
          deployFiles:
            - dist/~
        run:
          base: static
    ```
    </Fragment>
    <Fragment slot="pnpm">
    ```yaml title="zerops.yml"
    # veja https://docs.zerops.io/zerops-yml/specification para referência completa
    zerops:
      - setup: app
        build:
          base: nodejs@20
          buildCommands:
            - pnpm i
            - pnpm build
          deployFiles:
            - dist/~
        run:
          base: static
    ```
    </Fragment>
    <Fragment slot="yarn">
    ```yaml title="zerops.yml"
    # veja https://docs.zerops.io/zerops-yml/specification para referência completa
    zerops:
      - setup: app
        build:
          base: nodejs@20
          buildCommands:
            - yarn
            - yarn build
          deployFiles:
            - dist/~
        run:
          base: static
    ```
    </Fragment>
  </PackageManagerTabs>

Agora você pode [ativar a pipeline de build & deploy usando a CLI Zerops](#ativar-a-pipeline-usando-zerops-cli-zcli) ou conectar o serviço `app` ao seu repositório [GitHub](https://docs.zerops.io/references/github-integration/) / [GitLab](https://docs.zerops.io/references/gitlab-integration) a partir do detalhe do serviço.


## Site Astro SSR na Zerops

### Criando um projeto e um serviço para Astro SSR (Node.js)
Projetos e serviços podem ser adicionados através do assistente [`Adicionar projeto`](https://app.zerops.io/dashboard/project-add) ou importados usando uma estrutura yaml:

```yaml
# veja https://docs.zerops.io/references/import para referência completa
project:
  name: recipe-astro
services:
  - hostname: app
    type: nodejs@20
```

Isso criará um projeto chamado `recipe-astro` com um serviço Node.js Zerops chamado `app`.

### Publicando seu site Astro SSR

Para dizer ao Zerops como construir e rodar seu site usando o [adaptador oficial Astro Node.js](/pt-br/guides/integrations-guide/node/) no modo `standalone`, adicione um arquivo `zerops.yml` ao seu repositório:


  <PackageManagerTabs>
    <Fragment slot="npm">
    ```yaml title="zerops.yml"
    # veja https://docs.zerops.io/zerops-yml/specification para referência completa
    zerops:
      - setup: app
        build:
          base: nodejs@20
          buildCommands:
            - npm i
            - npm run build
          deployFiles:
            - dist
            - package.json
            - node_modules
        run:
          base: nodejs@20
          ports:
            - port: 3000
              httpSupport: true
          envVariables:
            PORT: 3000
            HOST: 0.0.0.0
          start: npm start
    ```
    </Fragment>
    <Fragment slot="pnpm">
    ```yaml title="zerops.yml"
    # veja https://docs.zerops.io/zerops-yml/specification para referência completa
    zerops:
      - setup: app
        build:
          base: nodejs@20
          buildCommands:
            - pnpm i
            - pnpm run build
          deployFiles:
            - dist
            - package.json
            - node_modules
        run:
          base: nodejs@20
          ports:
            - port: 3000
              httpSupport: true
          envVariables:
            PORT: 3000
            HOST: 0.0.0.0
          start: pnpm start
    ```
    </Fragment>
    <Fragment slot="yarn">
    ```yaml title="zerops.yml"
    # veja https://docs.zerops.io/zerops-yml/specification para referência completa
    zerops:
      - setup: app
        build:
          base: nodejs@20
          buildCommands:
            - yarn
            - yarn build
          deployFiles:
            - dist
            - package.json
            - node_modules
        run:
          base: nodejs@20
          ports:
            - port: 3000
              httpSupport: true
          envVariables:
            PORT: 3000
            HOST: 0.0.0.0
          start: yarn start
    ```
    </Fragment>
  </PackageManagerTabs>

Agora você pode [ativar a pipeline de build & deploy usando a CLI Zerops](#ativar-a-pipeline-usando-zerops-cli-zcli) ou conectar o serviço `app` ao seu repositório [GitHub](https://docs.zerops.io/references/github-integration/) / [GitLab](https://docs.zerops.io/references/gitlab-integration) a partir do detalhe do serviço.

## Ativar a pipeline usando Zerops CLI (zcli)

<Steps>
1. Instale a CLI Zerops.
		```shell
		# Para baixar o binário zcli diretamente,
		# use https://github.com/zeropsio/zcli/releases
		npm i -g @zerops/zcli
		```

2. Abra [`Configurações > Gerenciamento de Token de Acesso`](https://app.zerops.io/settings/token-management) no app Zerops e gere um novo token de acesso.

3. Faça login usando seu token de acesso com o seguinte comando:
		```shell
		zcli login <token>
		```

4. Navegue até a raiz do seu app (onde `zerops.yml` está localizado) e execute o seguinte comando para ativar a implantação:
		```shell
		zcli push
		```
</Steps>

## Recursos
### Oficial

- [Criar conta Zerops](https://app.zerops.io/registration)
- [Documentação Zerops](https://docs.zerops.io)
- [Receita Astro Zerops](https://app.zerops.io/recipe/astro)

### Comunidade
- [Publicar Astro na Zerops em 3 minutos](https://medium.com/@arjunaditya/how-to-deploy-astro-to-zerops-4230816a62b4)
- [Publicar Astro SSG com Node.js na Zerops com Publicação de Um Clique](https://youtu.be/-4KTa4VWtBE)
- [Publicar Astro SSR com Node.js na Zerops com Publicação de Um Clique](https://youtu.be/eR6b_JnDH6g)
